1. Technical Field
The present invention relates to a technique of transmitting data to a predetermined receiving apparatus or receiving data transmitted from the transmitting apparatus, and in particular, to a technique for sequence control and retransmission control when transmitting data in a divided state or when receiving the data transmitted in a divided state.
2. Related Art
In recent years, communications using a VoIP (voice over Internet protocol) network that performs voice communication using an IP (Internet protocol) have been spread. In the case when communications are performed by using a VoIP network, an RTP (real-time transport protocol) and a UDP (user datagram protocol) are usually used as communication units. The RTP is a protocol that causes data to be transmitted in a unit of a predetermined amount and at predetermined intervals. In addition, the UDP is a protocol that causes data to be transmitted to a receiving side in one way. In the case of the UDP, retransmission control or sequence control is not performed unlike a TCP (transmission control protocol). Accordingly, since the structure of a packet is simple, the UDP has a feature that a communication can be performed at high speed. Accordingly, it can be said that the UDP is a protocol suitable for a voice communication in which a real time is important and there is little influence even if a problem, such as lack of data, occurs to some extent. On the other hand, in the case when data whose reliability is important, for example, JPEG data that does not allow lack of data is transmitted as a deemed voice through a VoIP network, there is a problem that a higher layer than the UDP should cope with the lack of data, a change in sequence, and the like.
In order to solve such a problem, JP-A-2004-266504 discloses a technique in which a receiving side checks the continuity of packets by referring to a sequence number added to an RTP, makes a retransmission request to a transmitting side when it is determined that a packet is missing, and reconstructs the sequence of received and stored packets at a point of time when the missing packet is received.
However, in the above-described case in which the receiving side requests retransmission of a missing packet to the transmitting side, the transmitting side may not determine immediately whether or not a packet corresponding to a sequence number, retransmission of which is not requested, has reached the receiving side. In addition, the retransmission request from the receiving side may also be missing. In this case, since the receiving side should transmit the retransmission request, the total amount of time taken for transmission and reception is uselessly increased. As a result, a problem that communication expenses are increased also occurs. Furthermore, in the above-described method of reconstructing the sequence of packets whenever a missing packet is received, it is necessary to repeatedly perform processing for reconstructing the sequence of packets if a plural number of missing packets occur. As a result, a problem of inefficiency occurs. For this reason, a communication unit that efficiently performs retransmission control of missing data and easily determines a communication state or the ending time of data transmission processing has been demanded. In addition, a communication unit capable of efficiently and easily performing packet sequence control has been demanded.